feat(cli): external-agent realtime path (#2663)#2942
Conversation
OpenClaw/external bridges hold BUZZ_PRIVATE_KEY but had no first-class self-identity command short of embedding secp256k1. Print hex pubkey + npub locally with no relay I/O (alias: whoami). Signed-off-by: Bartok9 <danielrpike9@gmail.com>
Add buzz listen (WS NDJSON + optional webhook), keep pubkey/tags in messages get --format compact, headless agents publish for kind:30177 with client-side schema validation, and docs/cli-external-agents.md. Includes users me for a self-contained E2E path (sibling block#2933). Signed-off-by: Bartok <danielrpike9@gmail.com>
|
I’ve been validating the resident/external-agent path against Buzz’s current relay subscription rules before opening any overlapping PR. I’m sharing the resulting branches here first so we can coordinate rather than compete with #2942/#2933. The tested changes are split into three harness-neutral slices:
Validation on the full stack passes Would you prefer these as suggested commits on #2942/#2933, a split of #2942 into the smaller identity/listen units, or another coordination path? I’ll hold off on opening a competing upstream PR until we agree on the cleanest route. |
Closes direction toward #2663 (full external/OpenClaw CLI path). Keep #2933 open as the small
users meslice.Ships
buzz listen— NIP-42 WS, NDJSON events,--channel/--mentions-of-me, reconnect+SIGINT, optional--webhook(Option A)messages get --format compactkeepspubkey+tagsbuzz agents publishkind:30177 + client schema validation +docs/cli-external-agents.mdbuzz users meincluded so this PR is E2E-complete (sibling feat(cli): add buzz users me for external-agent identity #2933)Residual
Tests
cargo test -p buzz-cli --lib(264 ok) ·cargo test -p buzz-ws-client --lib(3 ok)